 /**
 * @(#) StartupCommand.as
 *
 * @date		2009. 04. 20.
 * @version		1.0
 * @author		Jo, Changehun
 * @description	Application 시작을 처리하는 Command
 * 				 
 */
package com.skt.common_hr.yearadjustment.controller 
{
	import com.skt.common_hr.yearadjustment.model.*;
	import com.skt.common_hr.yearadjustment.view.YearAdjustmentMediator;
	
	import org.puremvc.as3.multicore.interfaces.ICommand;
	import org.puremvc.as3.multicore.interfaces.INotification;
	import org.puremvc.as3.multicore.patterns.command.SimpleCommand;

	public class StartupCommand extends SimpleCommand implements ICommand
	{
		
		override public function execute(note:INotification):void
		{
			var app:YearAdjustment = note.getBody() as YearAdjustment;
			trace("execute startupCommand");
			
			facade.registerProxy(new YearAdjustmentProxy());
			facade.registerProxy(new TotalIncomeProxy());
			facade.registerProxy(new BasicSubtractionProxy());
			facade.registerProxy(new BasicViewInfoProxy());
			facade.registerProxy(new BasicViewInfoProxy());
			facade.registerProxy(new OtherSubtractionProxy());
			facade.registerProxy(new OtherSubtraction2014Proxy());
			
			facade.registerProxy(new CalculationResultProxy());
			facade.registerProxy(new PremiumProxy());
			facade.registerProxy(new MedicalProxy());
			facade.registerProxy(new EduComboProxy());
			facade.registerProxy(new EducationalProxy());
			facade.registerProxy(new DonationProxy());
			facade.registerProxy(new InhabitantsComboProxy());
			facade.registerProxy(new DonaInhabiComboProxy());
			facade.registerProxy(new BizNumValidProxy());
			facade.registerProxy(new AddressProxy());
			facade.registerProxy(new AnnuitySubtractionProxy());
			facade.registerProxy(new BankListProxy());
			facade.registerProxy(new PostProxy());
			facade.registerProxy(new PrevJobPlaceProxy());
			facade.registerProxy(new DomainProxy());
			facade.registerProxy(new HouseFundProxy());
			facade.registerProxy(new HouseRepayProxy());
			facade.registerProxy(new AnnuitySavingProxy());
			facade.registerProxy(new HouseSavingProxy());
			facade.registerProxy(new PrintPaperProxy());
			facade.registerProxy(new CreditCardProxy());
			
			//[dev5]
			facade.registerProxy(new CreditCard2Proxy());
			facade.registerProxy(new CreditInhabiComboProxy());
			//[/dev5]
			
			//소득공제신고서  출력 
			facade.registerProxy(new IncomeReportProxy());
			//신용카드 소득공제 신청서
			facade.registerProxy(new CreditCardReportProxy());
			//기부금 명세서 출력
			facade.registerProxy(new DonationReportProxy());
			//
			facade.registerProxy(new MedicalReportProxy());
			
			facade.registerProxy(new PresentReportProxy());
			
			// MVC 모델중 View와 관련한 mediator들을 등록한다.
			facade.registerMediator(new YearAdjustmentMediator(app.overView));
		}
	}
}